Column

Casos de discriminación (2002-2023)

Column

Discriminación por región

Discriminación vs. Historia laboral

---
title: "Código Dashboard"
Author: "Clàudia Hernández"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
    social: menu
    source_code: embed
---

```{r setup, include=FALSE}

library(flexdashboard)
library(tidyverse)
library(maps)
library(DT)
library(lorem)
library(ggplot2)
library(dplyr)
library(plotly)
library(rnaturalearth)
library(rnaturalearthdata)
library(devtools)
library(viridis)
library(mapSpain)

```

```{r}
datos <- read.csv("datosr2_depurado.csv", header=TRUE, sep=",")
```

```{r}

```


Column {data-width=450}
-----------------------------------------------------------------------

### Casos de discriminación (2002-2023)

```{r}
#Filtro los datos porque la información sobre las personas no discriminadas no es interesante para el objetivo
datos$essround <- as.factor(datos$essround)
datos$discrimination <- as.factor(datos$discrimination)

datos_filtrados <- datos %>% filter(discrimination != "No discriminado")

#Cuento el número de casos por año y tipo de discriminación
datos_agg <- datos_filtrados %>%
  group_by(essround, discrimination) %>%
  summarise(count = n())

#Me aseguro de que ess round sea numérico para el gráfico de serie temporal
datos_agg$essround <- as.numeric(as.character(datos_agg$essround))

# Crear el gráfico de serie temporal
p <-ggplot(data = datos_agg, aes(x = essround, y = count, color = discrimination, group = discrimination)) +
  geom_line() +
  geom_point() +
  labs(title = "Evolución temporal de los casos de discriminación por tipo",
       x = "Año",
       y = "Número de casos",
       color = "Tipo de discriminación") +
  theme_minimal()

#Añado la interacción
p_interactive <- ggplotly(p) %>% 
  layout(legend = list(title = list(text = 'Tipo de discriminación')))

# Muestro el gráfico
p_interactive

```

Column {data-width=550}
-----------------------------------------------------------------------

### Discriminación por región

```{r}


```

### Discriminación vs. Historia laboral

```{r fig.width=16, fig.height=10}
datos_filtrados2 <- datos%>%
  filter(pdjobev %in% c(1, 2))

discriminaciones_relevantes <- c("Edad", "Discapacidad", "Etnia", "Género", "Lengua", "Nacionalidad", "Raza", "Sexualidad")
datos_filtrados2 <- datos_filtrados2 %>%
  mutate(discriminacion_total = ifelse(discrimination %in% discriminaciones_relevantes, "Sí", "No"))

# Agrupar por pdjobev y discriminacion_total y contar los casos
datos_agg2 <- datos_filtrados2 %>%
  group_by(pdjobev, discriminacion_total) %>%
  summarise(count = n()) %>%
  ungroup()

# Calcular los porcentajes
datos_agg2 <- datos_agg2 %>%
  group_by(pdjobev) %>%
  mutate(percentage = count / sum(count) * 100)

# Crear el gráfico
p2 <- ggplot(datos_agg2, aes(
    y = factor(pdjobev, levels = c(1, 2), labels = c("Sí", "No")), 
    x = percentage, 
    fill = discriminacion_total, 
    text = paste("Porcentaje:", round(percentage, 2), "%<br>", "Casos:", count)
  )) +
  geom_bar(stat = "identity", position = "stack") +
  labs(y = "Alguna vez tuvo un trabajo remunerado", x = "Porcentaje de casos", fill = "Discriminación") +
  scale_x_continuous(labels = scales::percent_format(scale = 1)) +
  scale_fill_manual(values = c("Sí" = "dodgerblue", "No" = "lightsteelblue")) +
  theme_minimal() 

# Convertir el gráfico de ggplot2 a plotly para interactividad
ggplotly(p2, tooltip = "text")
```